package org.sam.swing.interpreter;

/**
 * 解释引擎的基本操作封装
 * @author sam
 *
 */
public interface Enginee {

	/**
	 * 直接解释代码并获取返回结果
	 * @param expression
	 * @return
	 * @throws Exception 
	 */
	public Object eval(String expression) throws Exception;
	
	/**
	 * 调用函数
	 * @param funName 函数名称
	 * @return 如果函数有返回值，则返回，否则为null
	 * @throws Exception 
	 */
	public Object callFun(String funName) throws Exception;
	
	/**
	 * 载入脚本文件的操作
	 * @param fileName
	 * @throws Exception 
	 */
	public void loadLib(String fileName) throws Exception;

}
